For the past 40 years, semiconductor industries have developed owing to highly integrated Si-based CMOSs (Complementary Metal-Oxide Semiconductors). However, further promoting higher integration of CMOS is expected to be become difficult due to economic and technological limits of miniaturizing techniques. Thus, a concept “Beyond CMOS”, which refers to creating new devices that are not bound by the concept of transistors, has surfaced as a next-generation device development concept.
In such a technical orientation, efforts have been made to construct hardware that performs pattern matching on data (for example, image data, speech data, and text data) using oscillators. This technique involves operating the oscillators in parallel to match input data against template data, and is thus expected to enable pattern matching to be achieved more quickly with lower power consumption than conventional software-based pattern matching implementations.
Techniques for a pattern matching device using spin-toque oscillators (STOs) are disclosed in (1) Mehdi Kabir & Mircea Stan, “Computing with Hybrid CMOS/STO Circuits”, Proceeding DAC '14 Proceedings of the 51st Annual Design Automation Conference on Design Automation Conference, Pages 1-6, (2) Csaba, G. & Porod, W., “Computational Study of Spin-Torque Oscillator Interactions for Non-Boolean Computing Applications”, IEEE Transactions on Magnetics, Vol. 49, No. 7, July 2013, and (3) Tadashi Shibata, Renyuan Zhang, Steven P. Levitan, Dmitri Nikonov and George Bourianoff, “CMOS Supporting Circuitries for Nano-Oscillator-Based Associative Memories”, Cellular Nanoscale Networks and Their Applications (CNNA), 2012 13th International Workshop on, Date of Conference: 29-31 Aug. 2012 Page(s):1-5. The spin-torque oscillators are sometimes referred to as spin-torque nano-oscillators (STNOs). STOs are minute oscillators of several tens of nanometers in size that can be highly integrated. The disclosed pattern matching device has a device structure in which a plurality of STOs are electrically connected together and can simultaneously oscillate. An output from the device is an averaged output resulting from totaling, through an averager, of outputs from STOs. A difference between input data (input vector) and template data (template vector) is input to the device to allow the oscillation frequencies of the STOs to be modulated. A smaller difference between the input data and the template data allows more STOs to operate at the same oscillation frequency and to exhibit synchronous vibration (i.e., synchronization) when the STOs are operated in parallel. The degree of matching is measured based on the degree of synchronization. Full synchronization indicates that two patterns in the input data and the template data are in perfect match.
As is known, the frequencies of the STOs are modulated by a current value or an external magnetic field (frequency nonlinearity). The disclosed pattern matching devices utilize the current-based modulation of the oscillation frequencies of the STOs. Both the input data and the template data are assigned to voltage values provided to the STOs. The value of a current applied to each of the STOs is controlled to modulate the oscillation frequency of the STO. Each process of pattern matching needs an operation of assigning both the input data and the template data to voltage values and inputting the voltage values to the STO. Both the input data and the template data are treated as volatile, temporary data. The template data is based on data stored in a predetermined database. It is thus efficient to enable data stored in the database in a nonvolatile manner to be utilized as template data. Enabling nonvolatile data to be utilized is particularly significant in view of increased speed and reduced power consumption.